package com.wing.product.model.response;

import com.wing.mybatis.common.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Schema(description="生产计划明细表")
@Data
@EqualsAndHashCode(callSuper=true)
public class WarehouseProductionSchedulingPlanDetailVO extends BaseEntity<WarehouseProductionSchedulingPlanDetailVO> {

    @Schema(description="生产计划id")
    private Long warehouseProductionSchedulingPlanId;

    @Schema(description="工位id")
    private Long workshopId;

    @Schema(description="车间名称")
    private String workshopName;

    @Schema(description="产线名称")
    private String productionLineName;

    @Schema(description="产线id")
    private Long productionLineId;

    @Schema(description="计划生产时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime plannedProductionTime;

    @Schema(description="计划生产数量")
    private Integer plannedQuantity;

    @Schema(description="状态1.待审核，2.待激活，3.待领料，4.待报工，5.生产中，6.暂停，7.终止，8.完成")
    private String status;

    @Schema(description="工资定额")
    private BigDecimal salaryQuota;

    @Schema(description="客户id")
    private Long customerId;

    @Schema(description="客户名称")
    private String customerName;

    @Schema(description="制令单编号")
    private String code;

    @Schema(description="报工数量")
    private Integer processingReportNumber;

    @Schema(description="质检合格数")
    private Integer qualityTestingQualifiedNumber;

    @Schema(description="质检不合格数")
    private Integer qualityTestingUnqualifiedNumber;

    @Schema(description="成品入库数")
    private Integer finishedProductNumber;

    @Schema(description="规格")
    private String productSpecCode;

    @Schema(description="厚度/壁厚/直径")
    private String diameter;

    @Schema(description="宽度/外径")
    private String warehouseWidth;

    @Schema(description="长度")
    private String warehouseLength;

    @Schema(description="捆包件数")
    private Integer bundleQuantity;

    @Schema(description="捆包数量")
    private Integer bundleSum;

    @Schema(description="材料料号")
    private String materialNumber;

    @Schema(description="需求数")
    private Integer requiredQuantity;

    @Schema(description="生产订单明细id")
    private Long productionOrderDetailId;

    @Schema(description="剩余排产数")
    private Integer scheduleQuantity;

    @Schema(description="所属生产订单编号")
    private String productionOrderNumber;

    @Schema(description="所属生产订单id")
    private Long productionOrderId;

    @Schema(description="生产计划备注")
    private String productionPlanRemark;

    @Schema(description="生产计划编号")
    private String productionPlanCode;

    @Schema(description="已完成数量")
    private String completedQuantity;

    @Schema(description="品种名称")
    private String productVarietyName;

    @Schema(description="牌号名称")
    private String productBrandName;

    @Schema(description="生产商名称")
    private String productProducerName;

    @Schema(description="牌号名称")
    private String productMarkName;

    @Schema(description="计划交货时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime deliveryTime;

}
